home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 112 / EnigmaAmiga112CD.iso / dalla rivista / news / orbit / source / weapon.c < prev   
C/C++ Source or Header  |  2000-05-01  |  3KB  |  111 lines

  1. /*
  2.     Amiga port by Oliver Gantert
  3.  
  4.     28.04.2000 - fixed some compiler warnings
  5. */
  6. /*
  7.  
  8. ORBIT, a freeware space combat simulator
  9. Copyright (C) 1999  Steve Belczyk <steve1@genesis.nred.ma.us>
  10.  
  11. This program is free software; you can redistribute it and/or
  12. modify it under the terms of the GNU General Public License
  13. as published by the Free Software Foundation; either version 2
  14. of the License, or (at your option) any later version.
  15.  
  16. This program is distributed in the hope that it will be useful,
  17. but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19. GNU General Public License for more details.
  20.  
  21. You should have received a copy of the GNU General Public License
  22. along with this program; if not, write to the Free Software
  23. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  24.  
  25. */
  26.  
  27. #include "orbit.h"
  28.  
  29. /*
  30.  *  Stuff for weapons
  31.  */
  32.  
  33. void InitWeapons()
  34. /*
  35.  *  Set them up
  36.  */
  37. {
  38.   int i;
  39.  
  40.   strcpy (weapon[0].name, "Laser");
  41.   weapon[0].speed = 4000.0 / KM_TO_UNITS1;
  42.   weapon[0].yield = 20.0;
  43.   weapon[0].idle = 0.2;
  44.   weapon[0].expire = 1.0;
  45.   weapon[0].renderer = 1;
  46.   weapon[0].color[0] = 1.0;
  47.   weapon[0].color[1] = 1.0;
  48.   weapon[0].color[2] = 0.0;
  49.  
  50.   strcpy (weapon[1].name, "PhotonRay");
  51.   weapon[1].speed = 5000.0 / KM_TO_UNITS1;
  52.   weapon[1].yield = 30.0;
  53.   weapon[1].idle = 0.3;
  54.   weapon[1].expire = 0.75;
  55.   weapon[1].renderer = 2;
  56.   weapon[1].color[0] = 0.0;
  57.   weapon[1].color[1] = 0.0;
  58.   weapon[1].color[2] = 1.0;
  59.  
  60.   strcpy (weapon[2].name, "IonGun");
  61.   weapon[2].speed = 4000.0 / KM_TO_UNITS1;
  62.   weapon[2].yield = 30.0;
  63.   weapon[2].idle = 0.5;
  64.   weapon[2].expire = 1.5;
  65.   weapon[2].renderer = 3;
  66.   weapon[2].color[0] = 0.0;
  67.   weapon[2].color[1] = 1.0;
  68.   weapon[2].color[2] = 0.0;
  69.  
  70.   strcpy (weapon[3].name, "Disruptor");
  71.   weapon[3].speed = 3000.0 / KM_TO_UNITS1;
  72.   weapon[3].yield = 60.0;
  73.   weapon[3].idle = 1.0;
  74.   weapon[3].expire = 1.5;
  75.   weapon[3].renderer = 4;
  76.   weapon[3].color[0] = 1.0;
  77.   weapon[3].color[1] = 1.0;
  78.   weapon[3].color[2] = 0.0;
  79.  
  80.   /* Spare weapons for enemies */
  81.   for (i=NPLAYER_WEAPONS; i<NWEAPONS; i++)
  82.   {
  83.     strcpy (weapon[i].name, "Spare");
  84.     weapon[i].speed = 6000.0 / KM_TO_UNITS1;
  85.     weapon[i].yield = 15.0;
  86.     weapon[i].idle = 2.0;
  87.     weapon[i].expire = 1.0;
  88.     weapon[i].renderer = 0;
  89.     weapon[i].color[0] = 1.0;
  90.     weapon[i].color[1] = 0.0;
  91.     weapon[i].color[2] = 0.0;
  92.   }
  93.  
  94.   /* Compute weapon ranges */
  95.   WeaponRanges();
  96. }
  97.  
  98. void WeaponRanges()
  99. /*
  100.  *  Compute weapon range for all weapons
  101.  */
  102. {
  103.   int w;
  104.  
  105.   for (w=0; w<NWEAPONS; w++)
  106.   {
  107.     weapon[w].range2 = weapon[w].speed * weapon[w].expire;
  108.     weapon[w].range2 = weapon[w].range2 * weapon[w].range2;
  109.   }
  110. }
  111.